RTC 22 Click
RTC 22 Click demo application is developed using the NECTO Studio, ensuring compatibility with mikroSDK's open-source libraries and tools. Designed for plug-and-play implementation and testing, the demo is fully compatible with all development, starter, and mikromedia boards featuring a mikroBUS™ socket.
Click Library
- Author : Stefan Filipovic
- Date : Jun 2024.
- Type : I2C type
Software Support
Example Description
This example demonstrates the use of RTC 22 Click board by reading and displaying the time and date values.
Example Libraries
- MikroSDK.Board
- MikroSDK.Log
- Click.RTC22
Example Key Functions
- rtc22_cfg_setup Config Object Initialization function.
void rtc22_cfg_setup(rtc22_cfg_t *cfg)
RTC 22 configuration object setup function.
RTC 22 Click configuration object.
Definition rtc22.h:211
- rtc22_init Initialization function.
err_t rtc22_init(rtc22_t *ctx, rtc22_cfg_t *cfg)
RTC 22 initialization function.
RTC 22 Click context object.
Definition rtc22.h:189
- rtc22_set_time This function sets the starting time values - second 100th, second, minute and hour.
err_t rtc22_set_time(rtc22_t *ctx, rtc22_time_t *time)
RTC 22 set time function.
RTC 22 Click time object.
Definition rtc22.h:231
- rtc22_read_time This function reads the current time values - second 100th, second, minute and hour.
err_t rtc22_read_time(rtc22_t *ctx, rtc22_time_t *time)
RTC 22 read time function.
- rtc22_set_date This function sets the starting date values - day of week, day, month and year.
err_t rtc22_set_date(rtc22_t *ctx, rtc22_date_t *date)
RTC 22 set date function.
RTC 22 Click date object.
Definition rtc22.h:245
Application Init
Initializes the driver, checks the communication, and sets the starting time and date.
{
log_cfg_t log_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
if ( I2C_MASTER_ERROR ==
rtc22_init( &rtc22, &rtc22_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
{
log_error( &logger, " Check communication." );
for ( ; ; );
}
time.hour = 23;
time.minute = 59;
time.second = 50;
time.second_100th = 0;
{
log_printf( &logger, " Set time: %.2u:%.2u:%.2u\r\n",
( uint16_t ) time.hour, ( uint16_t ) time.minute, ( uint16_t ) time.second );
}
date.day = 31;
date.month = 12;
date.year = 24;
{
log_printf( &logger, " Set date: %s, %.2u.%.2u.20%.2u.\r\n",
rtc22_get_day_of_week_name ( date.day_of_week ),
( uint16_t ) date.day, ( uint16_t ) date.month, ( uint16_t ) date.year );
}
Delay_ms ( 100 );
log_info( &logger, " Application Task " );
}
#define RTC22_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition rtc22.h:173
#define RTC22_TUESDAY
Definition rtc22.h:137
err_t rtc22_check_communication(rtc22_t *ctx)
RTC 22 check communication function.
void application_init(void)
Definition main.c:45
#define MIKROBUS_POSITION_RTC22
Definition main.c:26
@ RTC22_ERROR
Definition rtc22.h:260
@ RTC22_OK
Definition rtc22.h:259
Application Task
Reads and displays on the USB UART the current time and date values once per second.
{
{
log_printf( &logger, " Time: %.2u:%.2u:%.2u\r\n",
( uint16_t ) time.hour, ( uint16_t ) time.minute, ( uint16_t ) time.second );
}
{
log_printf( &logger, " Date: %s, %.2u.%.2u.20%.2u.\r\n",
rtc22_get_day_of_week_name ( date.day_of_week ),
( uint16_t ) date.day, ( uint16_t ) date.month, ( uint16_t ) date.year );
}
Delay_ms ( 1000 );
}
err_t rtc22_read_date(rtc22_t *ctx, rtc22_date_t *date)
RTC 22 read date function.
void application_task(void)
Definition main.c:101
Application Output
This Click board can be interfaced and monitored in two ways:
- Application Output - Use the "Application Output" window in Debug mode for real-time data monitoring. Set it up properly by following this tutorial.
- UART Terminal - Monitor data via the UART Terminal using a USB to UART converter. For detailed instructions, check out this tutorial.
Additional Notes and Information
The complete application code and a ready-to-use project are available through the NECTO Studio Package Manager for direct installation in the NECTO Studio. The application code can also be found on the MIKROE GitHub account.